package com.gzx.plugin.tjzy.modular.work.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gzx.plugin.tjzy.modular.gzxcase.vo.GzxCaseVo;
import com.gzx.plugin.tjzy.modular.work.entity.GzxMediatorWork;
import com.gzx.plugin.tjzy.modular.work.entity.bo.GzxMediatorWorkAddAndSmsBo;
import com.gzx.plugin.tjzy.modular.work.entity.bo.GzxMediatorWorkAddOrEditBo;
import com.gzx.plugin.tjzy.modular.work.entity.bo.GzxMediatorWorkQueryBo;
import com.gzx.plugin.tjzy.modular.work.entity.vo.GzxMediatorWorkVo;

import java.util.List;

/**
 * @author zjt
 * @description
 * @since 2024/12/5 11:01
 */
public interface GzxMediatorWorkService {

    /**
     * 分页查询作业记录
     *
     * @param mediatorWorkQueryBo
     * @return
     */
    Page<GzxMediatorWorkVo> pageList(GzxMediatorWorkQueryBo mediatorWorkQueryBo);

    /**
     * 预测外呼接听自动记录催记
     *
     * @param mediatorWorkAddOrEditBo
     */
    GzxCaseVo autoAddByCaseId(GzxMediatorWorkAddOrEditBo mediatorWorkAddOrEditBo);

    /**
     * 作业记录新增
     *
     * @param mediatorWorkAddOrEditBo
     * @return
     */
    String add(GzxMediatorWorkAddOrEditBo mediatorWorkAddOrEditBo);

    /**
     * 作业记录修改
     *
     * @param mediatorWorkAddOrEditBo
     */
    void edit(GzxMediatorWorkAddOrEditBo mediatorWorkAddOrEditBo);

    /**
     * 根据手机号查询上次作业记录的案件信息
     *
     * @param phone
     * @return
     */
    GzxCaseVo getLastCallCaseByPhone(String phone);

    /**
     * 作业记录删除
     *
     * @param mediatorWorkAddOrEditBo
     */
    void deleteWork(GzxMediatorWorkAddOrEditBo mediatorWorkAddOrEditBo);

    /**
     * 批量新增作业记录
     *
     * @param mediatorWorkList
     */
    void insertBatch(List<GzxMediatorWork> mediatorWorkList);

    /**
     * 保存催记并发送催记
     *
     * @param mediatorWorkAddAndSmsBo
     */
    void addWordBySms(GzxMediatorWorkAddAndSmsBo mediatorWorkAddAndSmsBo);
}
